{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 散点图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 648x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "x=np.linspace(0,2*np.pi,100)\n",
    "y=np.sin(x)+np.random.rand(100)\n",
    "\n",
    "plt.rcParams['font.sans-serif']= 'SimHei'  #中文显示\n",
    "plt.rcParams['axes.unicode_minus']=False\n",
    "\n",
    "plt.figure(figsize=(9,5))#画布设置\n",
    "plt.title('sin散点')\n",
    "plt.scatter(x,y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 折线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<function matplotlib.pyplot.show(*args, **kw)>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x=np.linspace(0,2*np.pi,100)\n",
    "y=np.sin(x)+np.random.rand(100) \n",
    "\n",
    "plt.figure(dpi=120)#像素值\n",
    "plt.plot(x,y,'r')\n",
    "plt.plot(x,np.sin(x),'g')\n",
    "plt.legend(['折线','sin曲线'])\n",
    "plt.show"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 柱状图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x=range(10)\n",
    "np.random.seed(123)#生成种子，是两个人生成数据一致\n",
    "y1=np.random.random(10)\n",
    "y2=np.random.random(10)\n",
    "\n",
    "plt.bar(x,y1,facecolor='r')#柱状图\n",
    "plt.bar(x,-y2,facecolor='g')\n",
    "for i,j in zip(x,y1):   #zip()是Python的一个内建函数，它接受一系列可迭代的对象作为参数，将对象中对应的元素打包成一个个tuple（元组），然后返回由这些tuples组成的list（列表）\n",
    "    plt.text(i,j,'%.2f'%j,ha='center',va='bottom')\n",
    "for i,j in zip(x,y2):\n",
    "    plt.text(i,-j,'%.2f'%j,ha='center',va='top')\n",
    "    \n",
    "plt.title('$\\pi$')    \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 饼图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "z=np.ones(10)\n",
    "\n",
    "plt.figure(figsize=(5,5))\n",
    "plt.pie(z, autopct='%.2f%%',explode=[0.1]*2+[0]*8,labels=list('ABCDEFGHIJ'),labeldistance=1.1,\n",
    "        wedgeprops={'width':0.6,'edgecolor':'w'})# wedgeprops={'width':0.6,'edgecolor':'w'}设置空心\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on function pie in module matplotlib.pyplot:\n",
      "\n",
      "pie(x, explode=None, labels=None, colors=None, autopct=None, pctdistance=0.6, shadow=False, labeldistance=1.1, startangle=None, radius=None, counterclock=True, wedgeprops=None, textprops=None, center=(0, 0), frame=False, rotatelabels=False, *, data=None)\n",
      "    Plot a pie chart.\n",
      "    \n",
      "    Make a pie chart of array *x*.  The fractional area of each wedge is\n",
      "    given by ``x/sum(x)``.  If ``sum(x) < 1``, then the values of *x* give\n",
      "    the fractional area directly and the array will not be normalized. The\n",
      "    resulting pie will have an empty wedge of size ``1 - sum(x)``.\n",
      "    \n",
      "    The wedges are plotted counterclockwise, by default starting from the\n",
      "    x-axis.\n",
      "    \n",
      "    Parameters\n",
      "    ----------\n",
      "    x : array-like\n",
      "        The wedge sizes.\n",
      "    \n",
      "    explode : array-like, optional, default: None\n",
      "        If not *None*, is a ``len(x)`` array which specifies the fraction\n",
      "        of the radius with which to offset each wedge.\n",
      "    \n",
      "    labels : list, optional, default: None\n",
      "        A sequence of strings providing the labels for each wedge\n",
      "    \n",
      "    colors : array-like, optional, default: None\n",
      "        A sequence of matplotlib color args through which the pie chart\n",
      "        will cycle.  If *None*, will use the colors in the currently\n",
      "        active cycle.\n",
      "    \n",
      "    autopct : None (default), string, or function, optional\n",
      "        If not *None*, is a string or function used to label the wedges\n",
      "        with their numeric value.  The label will be placed inside the\n",
      "        wedge.  If it is a format string, the label will be ``fmt%pct``.\n",
      "        If it is a function, it will be called.\n",
      "    \n",
      "    pctdistance : float, optional, default: 0.6\n",
      "        The ratio between the center of each pie slice and the start of\n",
      "        the text generated by *autopct*.  Ignored if *autopct* is *None*.\n",
      "    \n",
      "    shadow : bool, optional, default: False\n",
      "        Draw a shadow beneath the pie.\n",
      "    \n",
      "    labeldistance : float or None, optional, default: 1.1\n",
      "        The radial distance at which the pie labels are drawn.\n",
      "        If set to ``None``, label are not drawn, but are stored for use in\n",
      "        ``legend()``\n",
      "    \n",
      "    startangle : float, optional, default: None\n",
      "        If not *None*, rotates the start of the pie chart by *angle*\n",
      "        degrees counterclockwise from the x-axis.\n",
      "    \n",
      "    radius : float, optional, default: None\n",
      "        The radius of the pie, if *radius* is *None* it will be set to 1.\n",
      "    \n",
      "    counterclock : bool, optional, default: True\n",
      "        Specify fractions direction, clockwise or counterclockwise.\n",
      "    \n",
      "    wedgeprops : dict, optional, default: None\n",
      "        Dict of arguments passed to the wedge objects making the pie.\n",
      "        For example, you can pass in ``wedgeprops = {'linewidth': 3}``\n",
      "        to set the width of the wedge border lines equal to 3.\n",
      "        For more details, look at the doc/arguments of the wedge object.\n",
      "        By default ``clip_on=False``.\n",
      "    \n",
      "    textprops : dict, optional, default: None\n",
      "        Dict of arguments to pass to the text objects.\n",
      "    \n",
      "    center :  list of float, optional, default: (0, 0)\n",
      "        Center position of the chart. Takes value (0, 0) or is a sequence\n",
      "        of 2 scalars.\n",
      "    \n",
      "    frame : bool, optional, default: False\n",
      "        Plot axes frame with the chart if true.\n",
      "    \n",
      "    rotatelabels : bool, optional, default: False\n",
      "        Rotate each label to the angle of the corresponding slice if true.\n",
      "    \n",
      "    Returns\n",
      "    -------\n",
      "    patches : list\n",
      "        A sequence of :class:`matplotlib.patches.Wedge` instances\n",
      "    \n",
      "    texts : list\n",
      "        A list of the label :class:`matplotlib.text.Text` instances.\n",
      "    \n",
      "    autotexts : list\n",
      "        A list of :class:`~matplotlib.text.Text` instances for the numeric\n",
      "        labels. This will only be returned if the parameter *autopct* is\n",
      "        not *None*.\n",
      "    \n",
      "    Notes\n",
      "    -----\n",
      "    The pie chart will probably look best if the figure and axes are\n",
      "    square, or the Axes aspect is equal.\n",
      "    This method sets the aspect ratio of the axis to \"equal\".\n",
      "    The axes aspect ratio can be controlled with `Axes.set_aspect`.\n",
      "    \n",
      "    .. note::\n",
      "        In addition to the above described arguments, this function can take a\n",
      "        **data** keyword argument. If such a **data** argument is given, the\n",
      "        following arguments are replaced by **data[<arg>]**:\n",
      "    \n",
      "        * All arguments with the following names: 'colors', 'explode', 'labels', 'x'.\n",
      "    \n",
      "        Objects passed as **data** must support item access (``data[<arg>]``) and\n",
      "        membership test (``<arg> in data``).\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(plt.pie)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sqlalchemy import create_engine\n",
    "\n",
    "con=create_engine('mysql+pymysql://root:@localhost:3306/test?charset=utf8')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp1=pd.read_sql('meal_order_detail1',con=con)\n",
    "tmp2=pd.read_sql('meal_order_detail2',con=con)\n",
    "tmp3=pd.read_sql('meal_order_detail3',con=con)\n",
    "#pd.read_sql('select * from meal_order_detail1',con=con)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(10037, 19)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data=pd.concat([tmp1,tmp2,tmp3],axis=0)#数据合并\n",
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['detail_id', 'order_id', 'dishes_id', 'logicprn_name',\n",
       "       'parent_class_name', 'dishes_name', 'itemis_add', 'counts', 'amounts',\n",
       "       'cost', 'place_order_time', 'discount_amt', 'discount_reason',\n",
       "       'kick_back', 'add_inprice', 'add_info', 'bar_code', 'picture_file',\n",
       "       'emp_id'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data['price']=data['counts']*data['amounts']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['detail_id', 'order_id', 'dishes_id', 'logicprn_name',\n",
       "       'parent_class_name', 'dishes_name', 'itemis_add', 'counts', 'amounts',\n",
       "       'cost', 'place_order_time', 'discount_amt', 'discount_reason',\n",
       "       'kick_back', 'add_inprice', 'add_info', 'bar_code', 'picture_file',\n",
       "       'emp_id'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.columns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'DatetimeIndex' object has no attribute 'weekday_name'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-19-849d810a4895>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[0mind\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDatetimeIndex\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'place_order_time'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[1;31m#ind.weekday_name\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'weekday_name'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mind\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mweekday_name\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m: 'DatetimeIndex' object has no attribute 'weekday_name'"
     ]
    }
   ],
   "source": [
    "ind = pd.DatetimeIndex(data['place_order_time'])\n",
    "#ind.weekday_name\n",
    "data['weekday_name']=ind.weekday_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "data['day']=pd.DatetimeIndex(data['place_order_time']).day#取出每一天"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "\"['price'] not in index\"",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-25-aa452dd79523>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdata_gb\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'day'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'price'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mby\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'day'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;31m#分组\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      2\u001b[0m \u001b[0mnumber\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdata_gb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0magg\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnum\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;31m#求和\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\Anaconda\\lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m   2804\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mis_iterator\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2805\u001b[0m                 \u001b[0mkey\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2806\u001b[1;33m             \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_listlike_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mraise_missing\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mTrue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2807\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2808\u001b[0m         \u001b[1;31m# take() does not accept boolean indexers\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\Anaconda\\lib\\site-packages\\pandas\\core\\indexing.py\u001b[0m in \u001b[0;36m_get_listlike_indexer\u001b[1;34m(self, key, axis, raise_missing)\u001b[0m\n\u001b[0;32m   1550\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1551\u001b[0m         self._validate_read_indexer(\n\u001b[1;32m-> 1552\u001b[1;33m             \u001b[0mkeyarr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mo\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_axis_number\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mraise_missing\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mraise_missing\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1553\u001b[0m         )\n\u001b[0;32m   1554\u001b[0m         \u001b[1;32mreturn\u001b[0m \u001b[0mkeyarr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\Anaconda\\lib\\site-packages\\pandas\\core\\indexing.py\u001b[0m in \u001b[0;36m_validate_read_indexer\u001b[1;34m(self, key, indexer, axis, raise_missing)\u001b[0m\n\u001b[0;32m   1643\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mname\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m\"loc\"\u001b[0m \u001b[1;32mand\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0mraise_missing\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1644\u001b[0m                 \u001b[0mnot_found\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m-\u001b[0m \u001b[0mset\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0max\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 1645\u001b[1;33m                 \u001b[1;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34mf\"{not_found} not in index\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   1646\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   1647\u001b[0m             \u001b[1;31m# we skip the warning on Categorical/Interval\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: \"['price'] not in index\""
     ]
    }
   ],
   "source": [
    "data_gb=data[['day','price']].groupby(by='day')#分组\n",
    "number=data_gb.agg(np.num)#求和"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "number['price'].argmin()#找出price这一列最小值所对应的位置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'number' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-22-c63a2288f790>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mscatter\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m32\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mnumber\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      4\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;36m32\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0mnumber\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[0mplt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mNameError\u001b[0m: name 'number' is not defined"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.rcParams['font.sans-serif']='SimHei'\n",
    " \n",
    "plt.scatter(range(1,32),number，marker='D')\n",
    "plt.plot(range(1,32),number)\n",
    "plt.title('2016年8月餐饮销售额趋势示意图')\n",
    "plt.xlabel('日期')\n",
    "plt.ylabel('销售额')\n",
    "plt.xticks(range(1,32)[::7],range(1,32)[::7])#坐标区的显示，以一周为一个周期\n",
    "\n",
    "plt.text(number['price'].argmin()，number.min(),'最小值为'+str(number['price'].min()))#第一个参数是位置，第二个是值，第三个是解释\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "('week_name', 'price')",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32mD:\\Anaconda\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m   2645\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2646\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2647\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: ('week_name', 'price')",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-26-2e661eda89d2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'week_name'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'price'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32mD:\\Anaconda\\lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m   2798\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2799\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2800\u001b[1;33m             \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2801\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2802\u001b[0m                 \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mD:\\Anaconda\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m   2646\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2647\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2648\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2649\u001b[0m         \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2650\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msize\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: ('week_name', 'price')"
     ]
    }
   ],
   "source": [
    "data_gb=data['weekday_name','price'].groupby(by='weekday_name')\n",
    "number=data_gb.agg(np.sum)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "ind=['Monday','Tuesday','Wednesday','Thursday','Friday','Saturday','Sunday']\n",
    "number2=number.loc[ind,'price']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 柱形图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.bar(range(1,len(number2)+1),number2,width=0.5 alpha=0.5)#alpha透明度，传入xy\n",
    "plt.xticks(range(1,len(number2)+1),number2.index)#x轴的刻度为星期几\n",
    "plt.title('星期与销售额的数量情况')\n",
    "for i,j in zip(1,len(number2)+1),number2):\n",
    "    plt.text(i,j,'%i'%j,ha='center',va='bottom')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 饼图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.figure(figsize=(5,5))\n",
    "plt.style.use('ggplot')\n",
    "plt.pie(number2,labels=number2.index，autopct='%.2f %%', wedgeprops={'width':0.6,'edgecolor':'w'})\n",
    "\n",
    "plt.title('星期销售额占比情况')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'data' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-1-a3552485bb37>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdata_gb\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'order_id'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'price'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'day'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mby\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m'day'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      2\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mmyfun\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m     \u001b[1;32mreturn\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0munique\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[0mdata_gb\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0magg\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;34m'price'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msum\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'order_id'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[0mmyfun\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;31m#指定price作和操作，order_id作myfun函数，python中的agg函数通常用于调用groupby（）函数之后，对数据做一些聚合操作，\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[1;31m#包括sum，min,max以及其他一些聚合函数\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mNameError\u001b[0m: name 'data' is not defined"
     ]
    }
   ],
   "source": [
    "data_gb=data[['order_id','price','day']].groupby(by='day')\n",
    "def myfun(data):\n",
    "    return len(np.unique(data))\n",
    "data_gb.agg({'price':np.sum,'order_id':myfun})#指定price作和操作，order_id作myfun函数，python中的agg函数通常用于调用groupby（）函数之后，对数据做一些聚合操作，\n",
    "#包括sum，min,max以及其他一些聚合函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.scatter(range(1,32),number['price'],s=number['order_id'])\n",
    "pit.title('订单量，销售额与时间的关系')\n",
    "plt.xlabel('时间')\n",
    "plt.ylabel('销售额')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "INSTALLED VERSIONS\n",
      "------------------\n",
      "commit           : None\n",
      "python           : 3.7.6.final.0\n",
      "python-bits      : 64\n",
      "OS               : Windows\n",
      "OS-release       : 10\n",
      "machine          : AMD64\n",
      "processor        : Intel64 Family 6 Model 158 Stepping 9, GenuineIntel\n",
      "byteorder        : little\n",
      "LC_ALL           : None\n",
      "LANG             : None\n",
      "LOCALE           : None.None\n",
      "\n",
      "pandas           : 1.0.1\n",
      "numpy            : 1.18.1\n",
      "pytz             : 2019.3\n",
      "dateutil         : 2.8.1\n",
      "pip              : 20.0.2\n",
      "setuptools       : 45.2.0.post20200210\n",
      "Cython           : 0.29.15\n",
      "pytest           : 5.3.5\n",
      "hypothesis       : 5.5.4\n",
      "sphinx           : 2.4.0\n",
      "blosc            : None\n",
      "feather          : None\n",
      "xlsxwriter       : 1.2.7\n",
      "lxml.etree       : 4.5.0\n",
      "html5lib         : 1.0.1\n",
      "pymysql          : 0.9.3\n",
      "psycopg2         : None\n",
      "jinja2           : 2.11.1\n",
      "IPython          : 7.12.0\n",
      "pandas_datareader: None\n",
      "bs4              : 4.8.2\n",
      "bottleneck       : 1.3.2\n",
      "fastparquet      : None\n",
      "gcsfs            : None\n",
      "lxml.etree       : 4.5.0\n",
      "matplotlib       : 3.1.3\n",
      "numexpr          : 2.7.1\n",
      "odfpy            : None\n",
      "openpyxl         : 3.0.3\n",
      "pandas_gbq       : None\n",
      "pyarrow          : None\n",
      "pytables         : None\n",
      "pytest           : 5.3.5\n",
      "pyxlsb           : None\n",
      "s3fs             : None\n",
      "scipy            : 1.4.1\n",
      "sqlalchemy       : 1.3.13\n",
      "tables           : 3.6.1\n",
      "tabulate         : None\n",
      "xarray           : None\n",
      "xlrd             : 1.2.0\n",
      "xlwt             : 1.3.0\n",
      "xlsxwriter       : 1.2.7\n",
      "numba            : 0.48.0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'1.0.1'"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "pd.show_versions()\n",
    "pd.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
